package com.yuw.aspectaop;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Component // 把切面的实体类IOC到spring容器中
@Aspect // 构成一个逻辑上的切面  需要导入 aspectjweaver.jar 的包
public class LoggingAspect {

    /*
    @Before("execution(* com.yuw.model..*.*(..))")
    解析：
       @Before advice的类型
       execution 是触发的时机点；方法执行时
       * 表示该包下的所有的方法的修饰符；
       com.yuw.model..* 表示 model包下以及所有的子包下接口类
       .* 表示包下所有的公共方法名
       (..) 公共方法的参数列表
     */

    /**
     * advice：记录日志
     */
    @Before("execution(* com.yuw.model..*.*(..))")
    public void doLoginBefore() {
        System.out.println("使用aop对业务逻辑层的方法执行进行日志记录");
    }
}
